import { app, ipcMain } from 'electron'
import { getSystemInfo } from '@/utils'
import { setConfig, getConfig } from '@/utils/file'

// eslint-disable-next-line no-unused-vars
export default function initIpcMain() {
  const { mainWindow } = global
  // IPC test
  ipcMain.on('ping', () => console.log('pong'))
  // 退出应用
  ipcMain.handle('quit', () => app.quit())
  // 重启应用
  ipcMain.handle('restart', () => {
    app.relaunch()
    app.quit()
  })
  // 窗口置顶
  ipcMain.on('set-always-on-top', (_event, flag) => {
    mainWindow.setAlwaysOnTop(flag)
  })
  // 切换主题
  ipcMain.on('useDark', (_event, isDark) => {
    // console.log('useDark', isDark) 在mac上无此方法
    mainWindow?.setTitleBarOverlay?.({
      // 自定义标题栏
      color: '#1b1b1f00', // 标题栏背景色
      symbolColor: isDark ? '#fff' : '#000', // 标题栏图标颜色
      height: +import.meta.env.VITE_TITLE_HEIGHT // 标题栏高度
    })
  })
  // 获取系统信息
  ipcMain.handle('getSystemInfo', getSystemInfo)
  // 设置配置文件
  ipcMain.handle('setConfig', (_event, config, type) => setConfig(config, type))
  // 获取配置文件
  ipcMain.handle('getConfig', (_event, type) => getConfig(type))
}
